#version 310 es
#ifdef GL_EXT_shader_texture_lod
#extension GL_EXT_shader_texture_lod : enable
#endif

precision highp float;
precision highp int;
#define HLSLCC_ENABLE_UNIFORM_BUFFERS 1
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
#define UNITY_UNIFORM
#else
#define UNITY_UNIFORM uniform
#endif
#define UNITY_SUPPORTS_UNIFORM_LOCATION 1
#if UNITY_SUPPORTS_UNIFORM_LOCATION
#define UNITY_LOCATION(x) layout(location = x)
#define UNITY_BINDING(x) layout(binding = x, std140)
#else
#define UNITY_LOCATION(x)
#define UNITY_BINDING(x) layout(std140)
#endif
vec4 ImmCB_0[12];
uniform 	vec4 _ScaledScreenParams;
uniform 	vec2 _GlobalMipBias;
uniform 	vec4 _MainLightPosition;
uniform 	mediump vec4 _MainLightColor;
uniform 	mediump vec4 _AdditionalLightsCount;
uniform 	vec3 _WorldSpaceCameraPos;
uniform 	vec4 _ScreenParams;
uniform 	int _DebugMaterialMode;
uniform 	int _DebugMaterialValidationMode;
uniform 	int _DebugSceneOverrideMode;
uniform 	int _DebugLightingMode;
uniform 	int _DebugLightingFeatureFlags;
uniform 	mediump float _DebugValidateAlbedoMinLuminance;
uniform 	mediump float _DebugValidateAlbedoMaxLuminance;
uniform 	mediump float _DebugValidateAlbedoSaturationTolerance;
uniform 	mediump float _DebugValidateAlbedoHueTolerance;
uniform 	mediump vec3 _DebugValidateAlbedoCompareColor;
uniform 	mediump float _DebugValidateMetallicMinValue;
uniform 	mediump float _DebugValidateMetallicMaxValue;
uniform 	vec4 _DebugColor;
uniform 	vec4 _DebugColorInvalidMode;
uniform 	vec4 _DebugValidateBelowMinThresholdColor;
uniform 	vec4 _DebugValidateAboveMaxThresholdColor;
uniform 	vec4 _CascadeShadowSplitSpheres0;
uniform 	vec4 _CascadeShadowSplitSpheres1;
uniform 	vec4 _CascadeShadowSplitSpheres2;
uniform 	vec4 _CascadeShadowSplitSpheres3;
uniform 	vec4 _CascadeShadowSplitSphereRadii;
uniform 	vec4 _MainLightShadowOffset0;
uniform 	vec4 _MainLightShadowOffset1;
uniform 	vec4 _MainLightShadowParams;
uniform 	vec4 _MainLightShadowmapSize;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(0) uniform UnityPerDraw {
#endif
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_ObjectToWorld[4];
	UNITY_UNIFORM vec4                hlslcc_mtx4x4unity_WorldToObject[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LODFade;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_WorldTransformParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RenderingLayer;
	UNITY_UNIFORM mediump vec4                unity_LightData;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_LightIndices[2];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_ProbesOcclusion;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube0_HDR;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedXunity_SpecCube1_HDR;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube0_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMax;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_BoxMin;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_SpecCube1_ProbePosition;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_LightmapST;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_DynamicLightmapST;
	UNITY_UNIFORM mediump vec4                unity_SHAr;
	UNITY_UNIFORM mediump vec4                unity_SHAg;
	UNITY_UNIFORM mediump vec4                unity_SHAb;
	UNITY_UNIFORM mediump vec4                unity_SHBr;
	UNITY_UNIFORM mediump vec4                unity_SHBg;
	UNITY_UNIFORM mediump vec4                unity_SHBb;
	UNITY_UNIFORM mediump vec4                unity_SHC;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Min;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_RendererBounds_Max;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousM[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXhlslcc_mtx4x4unity_MatrixPreviousMI[4];
	UNITY_UNIFORM vec4 Xhlslcc_UnusedXunity_MotionVectorsParams;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
UNITY_BINDING(1) uniform UnityPerMaterial {
#endif
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_SoftParticleFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_CameraFadeParams;
	UNITY_UNIFORM vec4 Xhlslcc_UnusedX_BaseMap_ST;
	UNITY_UNIFORM mediump vec4                _BaseColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_EmissionColor;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_BaseColorAddSubDiff;
	UNITY_UNIFORM mediump vec4 Xhlslcc_UnusedX_SpecColor;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Cutoff;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_Smoothness;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionStrengthScaled;
	UNITY_UNIFORM mediump float Xhlslcc_UnusedX_DistortionBlend;
	UNITY_UNIFORM mediump float                _Surface;
#if HLSLCC_ENABLE_UNIFORM_BUFFERS
};
#endif
UNITY_LOCATION(0) uniform mediump sampler2D _MainLightShadowmapTexture;
UNITY_LOCATION(1) uniform mediump sampler2DShadow hlslcc_zcmp_MainLightShadowmapTexture;
UNITY_LOCATION(2) uniform mediump sampler2D _BaseMap;
in highp vec2 vs_TEXCOORD0;
in mediump vec4 vs_COLOR0;
in highp vec4 vs_TEXCOORD1;
in mediump vec3 vs_TEXCOORD2;
in highp vec4 vs_TEXCOORD7;
layout(location = 0) out mediump vec4 SV_Target0;
vec3 u_xlat0;
mediump vec4 u_xlat16_0;
mediump vec4 u_xlat16_1;
vec4 u_xlat2;
bool u_xlatb2;
vec4 u_xlat3;
mediump vec4 u_xlat16_3;
ivec4 u_xlati3;
uvec4 u_xlatu3;
bvec4 u_xlatb3;
vec4 u_xlat4;
mediump vec4 u_xlat16_4;
bvec4 u_xlatb4;
vec4 u_xlat5;
mediump vec4 u_xlat16_5;
ivec4 u_xlati5;
uvec4 u_xlatu5;
vec3 u_xlat6;
mediump vec4 u_xlat16_6;
ivec4 u_xlati6;
uint u_xlatu6;
vec3 u_xlat7;
mediump vec4 u_xlat16_7;
ivec4 u_xlati7;
bvec4 u_xlatb7;
vec3 u_xlat8;
mediump vec4 u_xlat16_8;
bvec4 u_xlatb8;
mediump vec4 u_xlat16_9;
mediump vec4 u_xlat16_10;
mediump vec4 u_xlat16_11;
mediump vec4 u_xlat16_12;
mediump vec4 u_xlat16_13;
float u_xlat14;
mediump vec4 u_xlat16_14;
mediump vec2 u_xlat16_15;
mediump vec2 u_xlat16_16;
mediump vec4 u_xlat16_17;
vec3 u_xlat18;
mediump float u_xlat16_18;
ivec3 u_xlati18;
bvec3 u_xlatb18;
vec3 u_xlat19;
mediump vec3 u_xlat16_21;
vec3 u_xlat25;
int u_xlati25;
uint u_xlatu25;
bvec2 u_xlatb25;
float u_xlat26;
int u_xlati26;
uint u_xlatu26;
int u_xlati27;
bool u_xlatb27;
float u_xlat29;
mediump float u_xlat16_29;
mediump float u_xlat16_41;
ivec2 u_xlati45;
uint u_xlatu45;
bool u_xlatb45;
float u_xlat46;
ivec2 u_xlati46;
uint u_xlatu46;
bvec2 u_xlatb46;
mediump vec2 u_xlat16_49;
mediump vec2 u_xlat16_50;
mediump vec2 u_xlat16_51;
mediump vec2 u_xlat16_55;
mediump float u_xlat16_61;
float u_xlat62;
mediump float u_xlat16_62;
bool u_xlatb62;
float u_xlat65;
int u_xlati65;
bool u_xlatb65;
float u_xlat66;
int u_xlati66;
mediump float u_xlat16_69;
vec4 TempArray0[18];
vec4 TempArray1[18];
vec4 TempArray2[18];
vec4 TempArray3[18];
vec4 TempArray4[18];
vec4 TempArray5[18];
int int_bitfieldInsert(int base, int insert, int offset, int bits) {
    uint mask = ~(uint(0xffffffffu) << uint(bits)) << uint(offset);
    return int((uint(base) & ~mask) | ((uint(insert) << uint(offset)) & mask));
}

void main()
{
ImmCB_0[0] = vec4(0.0,0.0,0.0,1.0);
ImmCB_0[1] = vec4(0.650980413,0.274509817,0.949019611,1.0);
ImmCB_0[2] = vec4(0.0,0.101960786,0.866666675,1.0);
ImmCB_0[3] = vec4(0.254901975,0.596078455,0.87843138,1.0);
ImmCB_0[4] = vec4(0.619607866,0.894117653,0.984313726,1.0);
ImmCB_0[5] = vec4(0.219607845,0.952941179,0.690196097,1.0);
ImmCB_0[6] = vec4(0.65882355,0.933333337,0.180392161,1.0);
ImmCB_0[7] = vec4(1.0,0.992156863,0.298039228,1.0);
ImmCB_0[8] = vec4(1.0,0.839215696,0.0,1.0);
ImmCB_0[9] = vec4(0.992156863,0.596078455,0.0,1.0);
ImmCB_0[10] = vec4(1.0,0.262745112,0.200000003,1.0);
ImmCB_0[11] = vec4(0.517647088,0.0392156877,0.211764708,1.0);
vec4 hlslcc_FragCoord = vec4(gl_FragCoord.xyz, 1.0/gl_FragCoord.w);
    u_xlat16_0 = texture(_BaseMap, vs_TEXCOORD0.xy, _GlobalMipBias.x);
    u_xlat16_0 = u_xlat16_0 * _BaseColor;
    u_xlat16_1 = u_xlat16_0.wxyz * vs_COLOR0.wxyz;
    u_xlat2.x = dot(vs_TEXCOORD2.xyz, vs_TEXCOORD2.xyz);
    u_xlat2.x = inversesqrt(u_xlat2.x);
    u_xlat2.xyz = u_xlat2.xxx * vs_TEXCOORD2.xyz;
    u_xlatb3.x = _DebugMaterialMode==9;
    if(u_xlatb3.x){
        u_xlat3 = vec4(1.0) / vec4(_ScaledScreenParams.xyxy);
        u_xlat3 = u_xlat3 * hlslcc_FragCoord.xyxy;
        u_xlat16_4.x = min(_AdditionalLightsCount.x, unity_LightData.y);
        u_xlati5.x = int(u_xlat16_4.x);
        u_xlatu5.x = uint(u_xlati5.x) + 1u;
        u_xlat3 = u_xlat3 * _ScreenParams.xyxy;
        u_xlatu3 = uvec4(u_xlat3);
        u_xlat25.x = float(u_xlatu5.x);
        u_xlat25.x = u_xlat25.x + 0.100000001;
        u_xlat25.x = log2(u_xlat25.x);
        u_xlat25.x = u_xlat25.x * 3.15464878;
        u_xlat25.x = floor(u_xlat25.x);
        u_xlati25 = int(u_xlat25.x);
        u_xlati25 = u_xlati25 + 1;
        u_xlati25 = max(u_xlati25, 0);
        u_xlati25 = min(u_xlati25, 11);
        u_xlati45.xy = ivec2(uvec2(u_xlatu3.z & uint(31u), u_xlatu3.w & uint(31u)));
        u_xlat6.xyz = log2(ImmCB_0[u_xlati25].xyz);
        u_xlat6.xyz = u_xlat6.xyz * vec3(2.20000005, 2.20000005, 2.20000005);
        u_xlat4.xyz = exp2(u_xlat6.xyz);
        u_xlatb25.x = 9u>=u_xlatu5.x;
        if(u_xlatb25.x){
            u_xlati6.xy = u_xlati45.xy + ivec2(int(0xFFFFFFF1u), int(0xFFFFFFF5u));
            u_xlatb46.xy = lessThan(u_xlati6.xyxy, ivec4(0, 0, 0, 0)).xy;
            u_xlatb46.x = u_xlatb46.y || u_xlatb46.x;
            u_xlatb7.xy = greaterThanEqual(u_xlati6.xyxx, ivec4(5, 9, 0, 0)).xy;
            u_xlatb46.x = u_xlatb46.x || u_xlatb7.x;
            u_xlatb46.x = u_xlatb7.y || u_xlatb46.x;
            if(!u_xlatb46.x){
                TempArray0[0].x = 1.31986677e-38;
                TempArray0[1].x = 2.12591537e-38;
                TempArray0[2].x = 1.25143043e-38;
                TempArray0[3].x = 2.80572715e-38;
                TempArray0[4].x = 1.80243991e-38;
                TempArray0[5].x = 2.80328777e-38;
                TempArray0[6].x = 1.49005124e-38;
                TempArray0[7].x = 2.80329113e-38;
                TempArray0[8].x = 1.53482105e-38;
                TempArray0[9].x = 8.48817543e-38;
                TempArray0[10].x = 1.39649383e-38;
                TempArray0[11].x = 2.50841393e-38;
                TempArray0[12].x = 9.11131044e-38;
                TempArray0[13].x = 2.50783996e-38;
                TempArray0[14].x = 1.25371735e-38;
                TempArray0[15].x = 2.80171383e-38;
                TempArray0[16].x = 1.24436705e-38;
                TempArray0[17].x = 2.12175169e-38;
                u_xlati46.x = int((u_xlatu5.x>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati26 = int(u_xlati6.y << (1 & int(0x1F)));
                u_xlati26 = (-u_xlati26) + 16;
                u_xlati26 = int(int_bitfieldInsert(u_xlati26, u_xlati46.x, 0 & int(0x1F), 1));
                u_xlat26 = TempArray0[u_xlati26].x;
                {
                    uint rem = u_xlatu5.x % 5u;
                    u_xlatu46 = rem;
                }
                u_xlatu6 = u_xlatu46 * 5u + uint(u_xlati6.x);
                u_xlatu6 = uint(uint(floatBitsToUint(u_xlat26)) >> (u_xlatu6 & uint(0x1F)));
                u_xlati6.x = int(uint(u_xlatu6 & 1u));
                u_xlati6.x = int((u_xlati6.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati6.x = 0;
            }
        } else {
            u_xlati7 = u_xlati45.xyxy + ivec4(int(0xFFFFFFF7u), int(0xFFFFFFF5u), int(0xFFFFFFF1u), int(0xFFFFFFF5u));
            {
                uint quo = u_xlatu5.x / 10u;
                u_xlatu26 = quo;
            }
            u_xlatb8 = lessThan(u_xlati7, ivec4(0, 0, 0, 0));
            u_xlati46.xy = ivec2(uvec2((uint(u_xlatb8.y) * 0xffffffffu) | (uint(u_xlatb8.x) * 0xffffffffu), (uint(u_xlatb8.w) * 0xffffffffu) | (uint(u_xlatb8.z) * 0xffffffffu)));
            u_xlatb8 = greaterThanEqual(u_xlati7, ivec4(5, 9, 5, 9));
            u_xlati46.xy = ivec2(uvec2(uint(u_xlati46.x) | (uint(u_xlatb8.x) * 0xffffffffu), uint(u_xlati46.y) | (uint(u_xlatb8.z) * 0xffffffffu)));
            u_xlati46.xy = ivec2(uvec2((uint(u_xlatb8.y) * 0xffffffffu) | uint(u_xlati46.x), (uint(u_xlatb8.w) * 0xffffffffu) | uint(u_xlati46.y)));
            u_xlatb8.x = 9u<u_xlatu26;
            u_xlati46.x = int(uint(uint(u_xlati46.x) | (uint(u_xlatb8.x) * 0xffffffffu)));
            if(u_xlati46.x == 0) {
                TempArray1[0].x = 1.31986677e-38;
                TempArray1[1].x = 2.12591537e-38;
                TempArray1[2].x = 1.25143043e-38;
                TempArray1[3].x = 2.80572715e-38;
                TempArray1[4].x = 1.80243991e-38;
                TempArray1[5].x = 2.80328777e-38;
                TempArray1[6].x = 1.49005124e-38;
                TempArray1[7].x = 2.80329113e-38;
                TempArray1[8].x = 1.53482105e-38;
                TempArray1[9].x = 8.48817543e-38;
                TempArray1[10].x = 1.39649383e-38;
                TempArray1[11].x = 2.50841393e-38;
                TempArray1[12].x = 9.11131044e-38;
                TempArray1[13].x = 2.50783996e-38;
                TempArray1[14].x = 1.25371735e-38;
                TempArray1[15].x = 2.80171383e-38;
                TempArray1[16].x = 1.24436705e-38;
                TempArray1[17].x = 2.12175169e-38;
                u_xlati46.x = int((u_xlatu26>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati27 = int(u_xlati7.y << (1 & int(0x1F)));
                u_xlati27 = (-u_xlati27) + 16;
                u_xlati46.x = int(int_bitfieldInsert(u_xlati27, u_xlati46.x, 0 & int(0x1F), 1));
                u_xlat46 = TempArray1[u_xlati46.x].x;
                {
                    uint rem = u_xlatu26 % 5u;
                    u_xlatu26 = rem;
                }
                u_xlatu26 = u_xlatu26 * 5u + uint(u_xlati7.x);
                u_xlatu26 = uint(uint(floatBitsToUint(u_xlat46)) >> (u_xlatu26 & uint(0x1F)));
                u_xlati26 = int(uint(u_xlatu26 & 1u));
                u_xlati26 = int((u_xlati26!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati26 = 0;
            }
            if(u_xlati46.y == 0) {
                {
                    uint rem = u_xlatu5.x % 10u;
                    u_xlatu46 = rem;
                }
                TempArray2[0].x = 1.31986677e-38;
                TempArray2[1].x = 2.12591537e-38;
                TempArray2[2].x = 1.25143043e-38;
                TempArray2[3].x = 2.80572715e-38;
                TempArray2[4].x = 1.80243991e-38;
                TempArray2[5].x = 2.80328777e-38;
                TempArray2[6].x = 1.49005124e-38;
                TempArray2[7].x = 2.80329113e-38;
                TempArray2[8].x = 1.53482105e-38;
                TempArray2[9].x = 8.48817543e-38;
                TempArray2[10].x = 1.39649383e-38;
                TempArray2[11].x = 2.50841393e-38;
                TempArray2[12].x = 9.11131044e-38;
                TempArray2[13].x = 2.50783996e-38;
                TempArray2[14].x = 1.25371735e-38;
                TempArray2[15].x = 2.80171383e-38;
                TempArray2[16].x = 1.24436705e-38;
                TempArray2[17].x = 2.12175169e-38;
                u_xlati66 = int((u_xlatu46>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati7.x = int(u_xlati7.w << (1 & int(0x1F)));
                u_xlati7.x = (-u_xlati7.x) + 16;
                u_xlati66 = int(int_bitfieldInsert(u_xlati7.x, u_xlati66, 0 & int(0x1F), 1));
                u_xlat66 = TempArray2[u_xlati66].x;
                {
                    uint rem = u_xlatu46 % 5u;
                    u_xlatu46 = rem;
                }
                u_xlatu46 = u_xlatu46 * 5u + uint(u_xlati7.z);
                u_xlatu46 = uint(uint(floatBitsToUint(u_xlat66)) >> (u_xlatu46 & uint(0x1F)));
                u_xlati46.x = int(uint(u_xlatu46 & 1u));
                u_xlati46.x = int((u_xlati46.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati46.x = 0;
            }
            u_xlati6.x = int(uint(uint(u_xlati46.x) | uint(u_xlati26)));
        }
        u_xlat4.w = 0.800000012;
        u_xlat4 = (u_xlati6.x != 0) ? vec4(0.0, 0.0, 0.0, 1.0) : u_xlat4;
        if(u_xlatb25.x){
            u_xlati6.xy = u_xlati45.xy + ivec2(int(0xFFFFFFF2u), int(0xFFFFFFF6u));
            u_xlatb46.xy = lessThan(u_xlati6.xyxy, ivec4(0, 0, 0, 0)).xy;
            u_xlatb25.x = u_xlatb46.y || u_xlatb46.x;
            u_xlatb46.xy = greaterThanEqual(u_xlati6.xyxy, ivec4(5, 9, 5, 9)).xy;
            u_xlatb25.x = u_xlatb25.x || u_xlatb46.x;
            u_xlatb25.x = u_xlatb46.y || u_xlatb25.x;
            if(!u_xlatb25.x){
                TempArray3[0].x = 1.31986677e-38;
                TempArray3[1].x = 2.12591537e-38;
                TempArray3[2].x = 1.25143043e-38;
                TempArray3[3].x = 2.80572715e-38;
                TempArray3[4].x = 1.80243991e-38;
                TempArray3[5].x = 2.80328777e-38;
                TempArray3[6].x = 1.49005124e-38;
                TempArray3[7].x = 2.80329113e-38;
                TempArray3[8].x = 1.53482105e-38;
                TempArray3[9].x = 8.48817543e-38;
                TempArray3[10].x = 1.39649383e-38;
                TempArray3[11].x = 2.50841393e-38;
                TempArray3[12].x = 9.11131044e-38;
                TempArray3[13].x = 2.50783996e-38;
                TempArray3[14].x = 1.25371735e-38;
                TempArray3[15].x = 2.80171383e-38;
                TempArray3[16].x = 1.24436705e-38;
                TempArray3[17].x = 2.12175169e-38;
                u_xlati25 = int((u_xlatu5.x>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati26 = int(u_xlati6.y << (1 & int(0x1F)));
                u_xlati26 = (-u_xlati26) + 16;
                u_xlati25 = int(int_bitfieldInsert(u_xlati26, u_xlati25, 0 & int(0x1F), 1));
                u_xlat25.x = TempArray3[u_xlati25].x;
                {
                    uint rem = u_xlatu5.x % 5u;
                    u_xlatu26 = rem;
                }
                u_xlatu6 = u_xlatu26 * 5u + uint(u_xlati6.x);
                u_xlatu25 = uint(uint(floatBitsToUint(u_xlat25.x)) >> (u_xlatu6 & uint(0x1F)));
                u_xlati25 = int(uint(u_xlatu25 & 1u));
                u_xlati25 = int((u_xlati25!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati25 = 0;
            }
        } else {
            u_xlati6 = u_xlati45.xyxy + ivec4(int(0xFFFFFFF8u), int(0xFFFFFFF6u), int(0xFFFFFFF2u), int(0xFFFFFFF6u));
            {
                uint quo = u_xlatu5.x / 10u;
                u_xlatu45 = quo;
            }
            u_xlatb7 = lessThan(u_xlati6, ivec4(0, 0, 0, 0));
            u_xlati7.xy = ivec2(uvec2((uint(u_xlatb7.y) * 0xffffffffu) | (uint(u_xlatb7.x) * 0xffffffffu), (uint(u_xlatb7.w) * 0xffffffffu) | (uint(u_xlatb7.z) * 0xffffffffu)));
            u_xlatb8 = greaterThanEqual(u_xlati6, ivec4(5, 9, 5, 9));
            u_xlati7.xy = ivec2(uvec2(uint(u_xlati7.x) | (uint(u_xlatb8.x) * 0xffffffffu), uint(u_xlati7.y) | (uint(u_xlatb8.z) * 0xffffffffu)));
            u_xlati7.xy = ivec2(uvec2((uint(u_xlatb8.y) * 0xffffffffu) | uint(u_xlati7.x), (uint(u_xlatb8.w) * 0xffffffffu) | uint(u_xlati7.y)));
            u_xlatb65 = 9u<u_xlatu45;
            u_xlati65 = int(uint((uint(u_xlatb65) * 0xffffffffu) | uint(u_xlati7.x)));
            if(u_xlati65 == 0) {
                TempArray4[0].x = 1.31986677e-38;
                TempArray4[1].x = 2.12591537e-38;
                TempArray4[2].x = 1.25143043e-38;
                TempArray4[3].x = 2.80572715e-38;
                TempArray4[4].x = 1.80243991e-38;
                TempArray4[5].x = 2.80328777e-38;
                TempArray4[6].x = 1.49005124e-38;
                TempArray4[7].x = 2.80329113e-38;
                TempArray4[8].x = 1.53482105e-38;
                TempArray4[9].x = 8.48817543e-38;
                TempArray4[10].x = 1.39649383e-38;
                TempArray4[11].x = 2.50841393e-38;
                TempArray4[12].x = 9.11131044e-38;
                TempArray4[13].x = 2.50783996e-38;
                TempArray4[14].x = 1.25371735e-38;
                TempArray4[15].x = 2.80171383e-38;
                TempArray4[16].x = 1.24436705e-38;
                TempArray4[17].x = 2.12175169e-38;
                u_xlati65 = int((u_xlatu45>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati26 = int(u_xlati6.y << (1 & int(0x1F)));
                u_xlati26 = (-u_xlati26) + 16;
                u_xlati65 = int(int_bitfieldInsert(u_xlati26, u_xlati65, 0 & int(0x1F), 1));
                u_xlat65 = TempArray4[u_xlati65].x;
                {
                    uint rem = u_xlatu45 % 5u;
                    u_xlatu45 = rem;
                }
                u_xlatu45 = u_xlatu45 * 5u + uint(u_xlati6.x);
                u_xlatu45 = uint(uint(floatBitsToUint(u_xlat65)) >> (u_xlatu45 & uint(0x1F)));
                u_xlati45.x = int(uint(u_xlatu45 & 1u));
                u_xlati45.x = int((u_xlati45.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati45.x = 0;
            }
            if(u_xlati7.y == 0) {
                {
                    uint rem = u_xlatu5.x % 10u;
                    u_xlatu5.x = rem;
                }
                TempArray5[0].x = 1.31986677e-38;
                TempArray5[1].x = 2.12591537e-38;
                TempArray5[2].x = 1.25143043e-38;
                TempArray5[3].x = 2.80572715e-38;
                TempArray5[4].x = 1.80243991e-38;
                TempArray5[5].x = 2.80328777e-38;
                TempArray5[6].x = 1.49005124e-38;
                TempArray5[7].x = 2.80329113e-38;
                TempArray5[8].x = 1.53482105e-38;
                TempArray5[9].x = 8.48817543e-38;
                TempArray5[10].x = 1.39649383e-38;
                TempArray5[11].x = 2.50841393e-38;
                TempArray5[12].x = 9.11131044e-38;
                TempArray5[13].x = 2.50783996e-38;
                TempArray5[14].x = 1.25371735e-38;
                TempArray5[15].x = 2.80171383e-38;
                TempArray5[16].x = 1.24436705e-38;
                TempArray5[17].x = 2.12175169e-38;
                u_xlati65 = int((u_xlatu5.x>=5u) ? 0xFFFFFFFFu : uint(0));
                u_xlati6.x = int(u_xlati6.w << (1 & int(0x1F)));
                u_xlati6.x = (-u_xlati6.x) + 16;
                u_xlati65 = int(int_bitfieldInsert(u_xlati6.x, u_xlati65, 0 & int(0x1F), 1));
                u_xlat65 = TempArray5[u_xlati65].x;
                {
                    uint rem = u_xlatu5.x % 5u;
                    u_xlatu5.x = rem;
                }
                u_xlatu5.x = u_xlatu5.x * 5u + uint(u_xlati6.z);
                u_xlatu5.x = uint(uint(floatBitsToUint(u_xlat65)) >> (u_xlatu5.x & uint(0x1F)));
                u_xlati5.x = int(uint(u_xlatu5.x & 1u));
                u_xlati5.x = int((u_xlati5.x!=0) ? 0xFFFFFFFFu : uint(0));
            } else {
                u_xlati5.x = 0;
            }
            u_xlati25 = int(uint(uint(u_xlati5.x) | uint(u_xlati45.x)));
        }
        u_xlat4 = (int(u_xlati25) != 0) ? vec4(1.0, 1.0, 1.0, 1.0) : u_xlat4;
        u_xlat5 = vec4(u_xlatu3.zwzw);
        u_xlat5 = u_xlat5 * vec4(0.03125, 0.03125, 0.03125, 0.03125);
        u_xlatu5 = uvec4(u_xlat5);
        u_xlati5 = ivec4(int(u_xlatu5.x) << (int(5) & int(0x1F)), int(u_xlatu5.y) << (int(5) & int(0x1F)), int(u_xlatu5.z) << (int(5) & int(0x1F)), int(u_xlatu5.w) << (int(5) & int(0x1F)));
        u_xlati3 = ivec4(u_xlatu3) + (-u_xlati5);
        u_xlatb3 = equal(u_xlati3, ivec4(0, 0, 31, 31));
        {
            bvec4 hlslcc_orTemp = u_xlatb3;
            hlslcc_orTemp.x = u_xlatb3.z || u_xlatb3.x;
            hlslcc_orTemp.y = u_xlatb3.w || u_xlatb3.y;
            u_xlatb3 = hlslcc_orTemp;
        }
        u_xlatb3.x = u_xlatb3.y || u_xlatb3.x;
        u_xlat16_3 = (u_xlatb3.x) ? vec4(1.0, 1.0, 1.0, 0.400000006) : u_xlat4;
        u_xlat16_9.xyz = (-u_xlat16_0.xyz) * vs_COLOR0.xyz + u_xlat16_3.xyz;
        u_xlat16_0.xyz = u_xlat16_3.www * u_xlat16_9.xyz + u_xlat16_1.yzw;
        u_xlat16_0.w = 1.0;
        u_xlat16_3.xyz = u_xlat16_1.yzw;
        u_xlati5.x = int(0xFFFFFFFFu);
    } else {
        u_xlatb25.x = _DebugLightingMode==1;
        if(u_xlatb25.x){
            u_xlat25.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres0.xyz);
            u_xlat6.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres1.xyz);
            u_xlat7.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres2.xyz);
            u_xlat8.xyz = vs_TEXCOORD1.xyz + (-_CascadeShadowSplitSpheres3.xyz);
            u_xlat4.x = dot(u_xlat25.xyz, u_xlat25.xyz);
            u_xlat4.y = dot(u_xlat6.xyz, u_xlat6.xyz);
            u_xlat4.z = dot(u_xlat7.xyz, u_xlat7.xyz);
            u_xlat4.w = dot(u_xlat8.xyz, u_xlat8.xyz);
            u_xlatb4 = lessThan(u_xlat4, _CascadeShadowSplitSphereRadii);
            u_xlat16_6.x = (u_xlatb4.x) ? float(1.0) : float(0.0);
            u_xlat16_6.y = (u_xlatb4.y) ? float(1.0) : float(0.0);
            u_xlat16_6.z = (u_xlatb4.z) ? float(1.0) : float(0.0);
            u_xlat16_6.w = (u_xlatb4.w) ? float(1.0) : float(0.0);
            u_xlat16_9.x = (u_xlatb4.x) ? float(-1.0) : float(-0.0);
            u_xlat16_9.y = (u_xlatb4.y) ? float(-1.0) : float(-0.0);
            u_xlat16_9.z = (u_xlatb4.z) ? float(-1.0) : float(-0.0);
            u_xlat16_9.xyz = u_xlat16_6.yzw + u_xlat16_9.xyz;
            u_xlat16_6.yzw = max(u_xlat16_9.xyz, vec3(0.0, 0.0, 0.0));
            u_xlat16_9.x = dot(u_xlat16_6, vec4(4.0, 3.0, 2.0, 1.0));
            u_xlat16_9.x = (-u_xlat16_9.x) + 4.0;
            u_xlatu25 = uint(u_xlat16_9.x);
            switch(int(u_xlatu25)){
                case 0:
                    u_xlat16_3.x = float(0.400000006);
                    u_xlat16_3.y = float(0.400000006);
                    u_xlat16_3.z = float(0.899999976);
                    break;
                case 1:
                    u_xlat16_3.x = float(0.400000006);
                    u_xlat16_3.y = float(0.899999976);
                    u_xlat16_3.z = float(0.400000006);
                    break;
                case 2:
                    u_xlat16_3.x = float(0.899999976);
                    u_xlat16_3.y = float(0.899999976);
                    u_xlat16_3.z = float(0.400000006);
                    break;
                case 3:
                    u_xlat16_3.x = float(0.899999976);
                    u_xlat16_3.y = float(0.400000006);
                    u_xlat16_3.z = float(0.400000006);
                    break;
                default:
                    u_xlat16_3.x = float(0.0);
                    u_xlat16_3.y = float(0.0);
                    u_xlat16_3.z = float(0.0);
                    break;
            }
            u_xlat16_0.x = float(0.0);
            u_xlat16_0.y = float(0.0);
            u_xlat16_0.z = float(0.0);
            u_xlat16_9.x = 1.0;
        } else {
            u_xlatb4 = equal(ivec4(ivec4(_DebugLightingMode, _DebugLightingMode, _DebugLightingMode, _DebugLightingMode)), ivec4(2, 3, 4, 5));
            {
                bvec2 hlslcc_orTemp = u_xlatb25;
                hlslcc_orTemp.x = u_xlatb4.y || u_xlatb4.x;
                hlslcc_orTemp.y = u_xlatb4.w || u_xlatb4.z;
                u_xlatb25 = hlslcc_orTemp;
            }
            u_xlat16_49.xy = (u_xlatb25.y) ? vec2(1.0, 1.0) : vec2(0.0, 1.0);
            u_xlat16_10.xyz = (u_xlatb25.y) ? vec3(0.0, 0.0, 0.0) : u_xlat16_1.yzw;
            u_xlat16_9.xy = (u_xlatb25.x) ? vec2(0.0, 0.0) : u_xlat16_49.yx;
            u_xlat16_3.xyz = (u_xlatb25.x) ? vec3(1.0, 1.0, 1.0) : u_xlat16_10.xyz;
            u_xlat16_0.xyz = u_xlat16_9.yyy;
        }
        u_xlat16_4 = (_DebugSceneOverrideMode != 0) ? _DebugColor : vec4(0.0, 0.0, 0.0, 0.0);
        if(_DebugSceneOverrideMode != 0) {
            u_xlat16_0 = u_xlat16_4;
            u_xlati5.x = int(0xFFFFFFFFu);
        } else {
            switch(_DebugMaterialMode){
                case 0:
                    u_xlat16_0 = u_xlat16_4;
                    u_xlati25 = 0;
                    break;
                case 1:
                    u_xlat16_3.w = 1.0;
                    u_xlat16_0 = u_xlat16_3;
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 2:
                    u_xlat16_0.w = 1.0;
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 3:
                    u_xlat16_1.w = 1.0;
                    u_xlat16_0 = u_xlat16_1.xxxw;
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 4:
                    u_xlat16_9.y = 1.0;
                    u_xlat16_0 = u_xlat16_9.xxxy;
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 5:
                    u_xlat16_0.x = float(1.0);
                    u_xlat16_0.y = float(1.0);
                    u_xlat16_0.z = float(1.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 6:
                    u_xlat16_0.x = float(0.0);
                    u_xlat16_0.y = float(0.0);
                    u_xlat16_0.z = float(0.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 7:
                    u_xlat0.xyz = u_xlat2.xyz * vec3(0.5, 0.5, 0.5) + vec3(0.5, 0.5, 0.5);
                    u_xlat16_0.xyz = u_xlat0.xyz;
                    u_xlat16_0.w = 1.0;
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 8:
                    u_xlat16_0.x = float(0.5);
                    u_xlat16_0.y = float(0.5);
                    u_xlat16_0.z = float(1.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                case 10:
                    u_xlat16_0.x = float(0.0);
                    u_xlat16_0.y = float(0.0);
                    u_xlat16_0.z = float(0.0);
                    u_xlat16_0.w = float(1.0);
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
                default:
                    u_xlat16_0 = _DebugColorInvalidMode;
                    u_xlati25 = int(0xFFFFFFFFu);
                    break;
            }
            if(u_xlati25 != 0) {
                u_xlati5.x = int(0xFFFFFFFFu);
            } else {
                switch(_DebugMaterialValidationMode){
                    case 0:
                        u_xlati5.x = 0;
                        break;
                    case 1:
                        u_xlat16_9.x = dot(u_xlat16_3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
                        u_xlatb25.x = u_xlat16_9.x<_DebugValidateAlbedoMinLuminance;
                        if(u_xlatb25.x){
                            u_xlat16_0 = _DebugValidateBelowMinThresholdColor;
                        } else {
                            u_xlatb25.x = _DebugValidateAlbedoMaxLuminance<u_xlat16_9.x;
                            u_xlatb45 = u_xlat16_3.y>=u_xlat16_3.z;
                            u_xlat16_21.x = (u_xlatb45) ? 1.0 : 0.0;
                            u_xlat16_4.xy = u_xlat16_3.zy;
                            u_xlat16_4.z = float(-1.0);
                            u_xlat16_4.w = float(0.666666687);
                            u_xlat16_6.xy = u_xlat16_3.yz + (-u_xlat16_4.xy);
                            u_xlat16_6.z = float(1.0);
                            u_xlat16_6.w = float(-1.0);
                            u_xlat16_4 = u_xlat16_21.xxxx * u_xlat16_6 + u_xlat16_4;
                            u_xlatb45 = u_xlat16_3.x>=u_xlat16_4.x;
                            u_xlat16_21.x = (u_xlatb45) ? 1.0 : 0.0;
                            u_xlat16_6.xyz = u_xlat16_4.xyw;
                            u_xlat16_6.w = u_xlat16_3.x;
                            u_xlat16_4.xyw = u_xlat16_6.wyx;
                            u_xlat16_4 = (-u_xlat16_6) + u_xlat16_4;
                            u_xlat16_4 = u_xlat16_21.xxxx * u_xlat16_4 + u_xlat16_6;
                            u_xlat16_21.x = min(u_xlat16_4.y, u_xlat16_4.w);
                            u_xlat16_21.x = (-u_xlat16_21.x) + u_xlat16_4.x;
                            u_xlat16_41 = (-u_xlat16_4.y) + u_xlat16_4.w;
                            u_xlat16_61 = u_xlat16_21.x * 6.0 + 9.99999975e-05;
                            u_xlat16_41 = u_xlat16_41 / u_xlat16_61;
                            u_xlat16_41 = u_xlat16_41 + u_xlat16_4.z;
                            u_xlat16_61 = u_xlat16_4.x + 9.99999975e-05;
                            u_xlat16_21.x = u_xlat16_21.x / u_xlat16_61;
                            u_xlatb45 = _DebugValidateAlbedoCompareColor.y>=_DebugValidateAlbedoCompareColor.z;
                            u_xlat16_4.xy = _DebugValidateAlbedoCompareColor.zy;
                            u_xlat16_4.z = float(-1.0);
                            u_xlat16_4.w = float(0.666666687);
                            u_xlat16_6.xy = _DebugValidateAlbedoCompareColor.yz;
                            u_xlat16_6.z = float(0.0);
                            u_xlat16_6.w = float(-0.333333343);
                            u_xlat16_6 = (-u_xlat16_4) + u_xlat16_6;
                            u_xlat16_6 = (bool(u_xlatb45)) ? u_xlat16_6 : vec4(0.0, 0.0, 0.0, -0.0);
                            u_xlat16_4 = u_xlat16_4 + u_xlat16_6;
                            u_xlatb45 = _DebugValidateAlbedoCompareColor.x>=u_xlat16_4.x;
                            u_xlat16_6.xyz = u_xlat16_4.xyw;
                            u_xlat16_6.w = _DebugValidateAlbedoCompareColor.x;
                            u_xlat16_4.xyw = u_xlat16_6.wyx;
                            u_xlat16_4 = (-u_xlat16_6) + u_xlat16_4;
                            u_xlat16_4 = (bool(u_xlatb45)) ? u_xlat16_4 : vec4(0.0, 0.0, 0.0, 0.0);
                            u_xlat16_4 = u_xlat16_4 + u_xlat16_6;
                            u_xlat16_61 = min(u_xlat16_4.y, u_xlat16_4.w);
                            u_xlat16_61 = (-u_xlat16_61) + u_xlat16_4.x;
                            u_xlat16_49.x = (-u_xlat16_4.y) + u_xlat16_4.w;
                            u_xlat16_69 = u_xlat16_61 * 6.0 + 9.99999975e-05;
                            u_xlat16_49.x = u_xlat16_49.x / u_xlat16_69;
                            u_xlat16_49.x = u_xlat16_4.z + u_xlat16_49.x;
                            u_xlat16_69 = u_xlat16_4.x + 9.99999975e-05;
                            u_xlat16_61 = u_xlat16_61 / u_xlat16_69;
                            u_xlat16_69 = u_xlat16_61 + (-_DebugValidateAlbedoSaturationTolerance);
                            u_xlatb45 = u_xlat16_21.x<u_xlat16_69;
                            u_xlat16_69 = abs(u_xlat16_49.x) + (-_DebugValidateAlbedoHueTolerance);
                            u_xlatb65 = abs(u_xlat16_41)<u_xlat16_69;
                            u_xlat16_69 = u_xlat16_69 + 1.0;
                            u_xlatb7.x = abs(u_xlat16_41)<u_xlat16_69;
                            u_xlatb65 = u_xlatb65 && u_xlatb7.x;
                            u_xlatb45 = u_xlatb65 || u_xlatb45;
                            u_xlat16_61 = u_xlat16_61 + _DebugValidateAlbedoSaturationTolerance;
                            u_xlatb65 = u_xlat16_61<u_xlat16_21.x;
                            u_xlat16_21.x = abs(u_xlat16_49.x) + _DebugValidateAlbedoHueTolerance;
                            u_xlatb7.x = u_xlat16_21.x<abs(u_xlat16_41);
                            u_xlat16_21.x = u_xlat16_21.x + -1.0;
                            u_xlatb27 = u_xlat16_21.x<abs(u_xlat16_41);
                            u_xlatb7.x = u_xlatb27 && u_xlatb7.x;
                            u_xlatb65 = u_xlatb65 || u_xlatb7.x;
                            u_xlat16_9.y = 1.0;
                            u_xlat16_4 = (bool(u_xlatb65)) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_9.xxxy;
                            u_xlat16_4 = (bool(u_xlatb45)) ? _DebugValidateBelowMinThresholdColor : u_xlat16_4;
                            u_xlat16_0 = (u_xlatb25.x) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_4;
                        }
                        u_xlati5.x = int(0xFFFFFFFFu);
                        break;
                    case 2:
                        u_xlatb25.x = 0.0<_DebugValidateMetallicMinValue;
                        u_xlatb45 = _DebugValidateMetallicMaxValue<0.0;
                        u_xlat16_9.x = dot(u_xlat16_3.xyz, vec3(0.212672904, 0.715152204, 0.0721750036));
                        u_xlat16_9.y = 1.0;
                        u_xlat16_4 = (bool(u_xlatb45)) ? _DebugValidateAboveMaxThresholdColor : u_xlat16_9.xxxy;
                        u_xlat16_0 = (u_xlatb25.x) ? _DebugValidateBelowMinThresholdColor : u_xlat16_4;
                        u_xlati5.x = int(0xFFFFFFFFu);
                        break;
                    default:
                        u_xlat16_0 = _DebugColorInvalidMode;
                        u_xlati5.x = int(0xFFFFFFFFu);
                        break;
                }
            }
        }
    }
    if(u_xlati5.x == 0) {
        u_xlat2.w = 1.0;
        u_xlat16_9.x = dot(unity_SHAr, u_xlat2);
        u_xlat16_9.y = dot(unity_SHAg, u_xlat2);
        u_xlat16_9.z = dot(unity_SHAb, u_xlat2);
        u_xlat16_4 = u_xlat2.yzzx * u_xlat2.xyzz;
        u_xlat16_10.x = dot(unity_SHBr, u_xlat16_4);
        u_xlat16_10.y = dot(unity_SHBg, u_xlat16_4);
        u_xlat16_10.z = dot(unity_SHBb, u_xlat16_4);
        u_xlat16_21.x = u_xlat2.y * u_xlat2.y;
        u_xlat16_21.x = u_xlat2.x * u_xlat2.x + (-u_xlat16_21.x);
        u_xlat16_21.xyz = unity_SHC.xyz * u_xlat16_21.xxx + u_xlat16_10.xyz;
        u_xlat16_21.xyz = u_xlat16_21.xyz + u_xlat16_9.xyz;
        u_xlat16_21.xyz = max(u_xlat16_21.xyz, vec3(0.0, 0.0, 0.0));
        switch(_DebugLightingMode){
            case 2:
                u_xlat16_9.x = 0.5;
                break;
            case 3:
                u_xlat16_9.x = 0.5;
                break;
            default:
                u_xlat16_9.x = 1.0;
                break;
        }
        u_xlatb62 = 0.0<_MainLightShadowParams.y;
        if(u_xlatb62){
            u_xlatb62 = _MainLightShadowParams.y==1.0;
            if(u_xlatb62){
                u_xlat4 = vs_TEXCOORD7.xyxy + _MainLightShadowOffset0;
                vec3 txVec0 = vec3(u_xlat4.xy,vs_TEXCOORD7.z);
                u_xlat16_5.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec0, 0.0);
                vec3 txVec1 = vec3(u_xlat4.zw,vs_TEXCOORD7.z);
                u_xlat16_5.y = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec1, 0.0);
                u_xlat4 = vs_TEXCOORD7.xyxy + _MainLightShadowOffset1;
                vec3 txVec2 = vec3(u_xlat4.xy,vs_TEXCOORD7.z);
                u_xlat16_5.z = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec2, 0.0);
                vec3 txVec3 = vec3(u_xlat4.zw,vs_TEXCOORD7.z);
                u_xlat16_5.w = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec3, 0.0);
                u_xlat16_29 = dot(u_xlat16_5, vec4(0.25, 0.25, 0.25, 0.25));
            } else {
                u_xlatb62 = _MainLightShadowParams.y==2.0;
                if(u_xlatb62){
                    u_xlat16_49.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + vec2(0.5, 0.5);
                    u_xlat16_49.xy = floor(u_xlat16_49.xy);
                    u_xlat16_10.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + (-u_xlat16_49.xy);
                    u_xlat16_4 = u_xlat16_10.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                    u_xlat16_5 = u_xlat16_4.xxzz * u_xlat16_4.xxzz;
                    u_xlat16_50.xy = u_xlat16_5.yw * vec2(0.0799999982, 0.0799999982);
                    u_xlat16_11.xy = u_xlat16_5.xz * vec2(0.5, 0.5) + (-u_xlat16_10.xy);
                    u_xlat16_51.xy = (-u_xlat16_10.xy) + vec2(1.0, 1.0);
                    u_xlat16_12.xy = min(u_xlat16_10.xy, vec2(0.0, 0.0));
                    u_xlat16_12.xy = (-u_xlat16_12.xy) * u_xlat16_12.xy + u_xlat16_51.xy;
                    u_xlat16_10.xy = max(u_xlat16_10.xy, vec2(0.0, 0.0));
                    u_xlat16_10.xy = (-u_xlat16_10.xy) * u_xlat16_10.xy + u_xlat16_4.yw;
                    u_xlat16_12.xy = u_xlat16_12.xy + vec2(1.0, 1.0);
                    u_xlat16_10.xy = u_xlat16_10.xy + vec2(1.0, 1.0);
                    u_xlat16_5.xy = u_xlat16_11.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_6.xy = u_xlat16_51.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_7.xy = u_xlat16_12.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_8.xy = u_xlat16_10.xy * vec2(0.159999996, 0.159999996);
                    u_xlat16_10.xy = u_xlat16_4.yw * vec2(0.159999996, 0.159999996);
                    u_xlat16_5.z = u_xlat16_7.x;
                    u_xlat16_5.w = u_xlat16_10.x;
                    u_xlat16_6.z = u_xlat16_8.x;
                    u_xlat16_6.w = u_xlat16_50.x;
                    u_xlat16_4 = u_xlat16_5.zwxz + u_xlat16_6.zwxz;
                    u_xlat16_7.z = u_xlat16_5.y;
                    u_xlat16_7.w = u_xlat16_10.y;
                    u_xlat16_8.z = u_xlat16_6.y;
                    u_xlat16_8.w = u_xlat16_50.y;
                    u_xlat16_10.xyz = u_xlat16_7.zyw + u_xlat16_8.zyw;
                    u_xlat16_11.xyz = u_xlat16_6.xzw / u_xlat16_4.zwy;
                    u_xlat16_11.xyz = u_xlat16_11.xyz + vec3(-2.5, -0.5, 1.5);
                    u_xlat16_12.xyz = u_xlat16_8.zyw / u_xlat16_10.xyz;
                    u_xlat16_12.xyz = u_xlat16_12.xyz + vec3(-2.5, -0.5, 1.5);
                    u_xlat16_5.xyz = u_xlat16_11.yxz * _MainLightShadowmapSize.xxx;
                    u_xlat16_6.xyz = u_xlat16_12.xyz * _MainLightShadowmapSize.yyy;
                    u_xlat16_5.w = u_xlat16_6.x;
                    u_xlat16_7 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_5.ywxw;
                    u_xlat16_11.xy = u_xlat16_49.xy * _MainLightShadowmapSize.xy + u_xlat16_5.zw;
                    u_xlat16_6.w = u_xlat16_5.y;
                    u_xlat16_5.yw = u_xlat16_6.yz;
                    u_xlat16_8 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_5.xyzy;
                    u_xlat16_6 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_6.wywz;
                    u_xlat16_5 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_5.xwzw;
                    u_xlat16_12 = u_xlat16_4.zwyz * u_xlat16_10.xxxy;
                    u_xlat16_13 = u_xlat16_4 * u_xlat16_10.yyzz;
                    u_xlat16_49.x = u_xlat16_4.y * u_xlat16_10.z;
                    vec3 txVec4 = vec3(u_xlat16_7.xy,vs_TEXCOORD7.z);
                    u_xlat16_62 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec4, 0.0);
                    vec3 txVec5 = vec3(u_xlat16_7.zw,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec5, 0.0);
                    u_xlat14 = u_xlat16_12.y * u_xlat16_14.x;
                    u_xlat62 = u_xlat16_12.x * u_xlat16_62 + u_xlat14;
                    vec3 txVec6 = vec3(u_xlat16_11.xy,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec6, 0.0);
                    u_xlat62 = u_xlat16_12.z * u_xlat16_14.x + u_xlat62;
                    vec3 txVec7 = vec3(u_xlat16_6.xy,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec7, 0.0);
                    u_xlat62 = u_xlat16_12.w * u_xlat16_14.x + u_xlat62;
                    vec3 txVec8 = vec3(u_xlat16_8.xy,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec8, 0.0);
                    u_xlat62 = u_xlat16_13.x * u_xlat16_14.x + u_xlat62;
                    vec3 txVec9 = vec3(u_xlat16_8.zw,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec9, 0.0);
                    u_xlat62 = u_xlat16_13.y * u_xlat16_14.x + u_xlat62;
                    vec3 txVec10 = vec3(u_xlat16_6.zw,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec10, 0.0);
                    u_xlat62 = u_xlat16_13.z * u_xlat16_14.x + u_xlat62;
                    vec3 txVec11 = vec3(u_xlat16_5.xy,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec11, 0.0);
                    u_xlat62 = u_xlat16_13.w * u_xlat16_14.x + u_xlat62;
                    vec3 txVec12 = vec3(u_xlat16_5.zw,vs_TEXCOORD7.z);
                    u_xlat16_14.x = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec12, 0.0);
                    u_xlat29 = u_xlat16_49.x * u_xlat16_14.x + u_xlat62;
                    u_xlat16_29 = u_xlat29;
                } else {
                    u_xlat16_49.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + vec2(0.5, 0.5);
                    u_xlat16_49.xy = floor(u_xlat16_49.xy);
                    u_xlat16_10.xy = vs_TEXCOORD7.xy * _MainLightShadowmapSize.zw + (-u_xlat16_49.xy);
                    u_xlat16_4 = u_xlat16_10.xxyy + vec4(0.5, 1.0, 0.5, 1.0);
                    u_xlat16_5 = u_xlat16_4.xxzz * u_xlat16_4.xxzz;
                    u_xlat16_6.yw = u_xlat16_5.yw * vec2(0.0408160016, 0.0408160016);
                    u_xlat16_50.xy = u_xlat16_5.xz * vec2(0.5, 0.5) + (-u_xlat16_10.xy);
                    u_xlat16_11.xy = (-u_xlat16_10.xy) + vec2(1.0, 1.0);
                    u_xlat16_51.xy = min(u_xlat16_10.xy, vec2(0.0, 0.0));
                    u_xlat16_11.xy = (-u_xlat16_51.xy) * u_xlat16_51.xy + u_xlat16_11.xy;
                    u_xlat16_51.xy = max(u_xlat16_10.xy, vec2(0.0, 0.0));
                    u_xlat16_11.zw = (-u_xlat16_51.xy) * u_xlat16_51.xy + u_xlat16_4.yw;
                    u_xlat16_11 = u_xlat16_11 + vec4(2.0, 2.0, 2.0, 2.0);
                    u_xlat16_4.z = u_xlat16_11.z * 0.0816320032;
                    u_xlat16_5.xy = u_xlat16_50.yx * vec2(0.0816320032, 0.0816320032);
                    u_xlat16_50.xy = u_xlat16_11.xy * vec2(0.0816320032, 0.0816320032);
                    u_xlat16_5.z = u_xlat16_11.w * 0.0816320032;
                    u_xlat16_4.x = u_xlat16_5.y;
                    u_xlat16_4.yw = u_xlat16_10.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                    u_xlat16_7.xz = u_xlat16_10.xx * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                    u_xlat16_7.y = u_xlat16_50.x;
                    u_xlat16_7.w = u_xlat16_6.y;
                    u_xlat16_4 = u_xlat16_4 + u_xlat16_7;
                    u_xlat16_5.yw = u_xlat16_10.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.163264006, 0.0816320032);
                    u_xlat16_6.xz = u_xlat16_10.yy * vec2(-0.0816320032, 0.0816320032) + vec2(0.0816320032, 0.163264006);
                    u_xlat16_6.y = u_xlat16_50.y;
                    u_xlat16_5 = u_xlat16_5 + u_xlat16_6;
                    u_xlat16_7 = u_xlat16_7 / u_xlat16_4;
                    u_xlat16_7 = u_xlat16_7 + vec4(-3.5, -1.5, 0.5, 2.5);
                    u_xlat16_6 = u_xlat16_6 / u_xlat16_5;
                    u_xlat16_6 = u_xlat16_6 + vec4(-3.5, -1.5, 0.5, 2.5);
                    u_xlat16_7 = u_xlat16_7.wxyz * _MainLightShadowmapSize.xxxx;
                    u_xlat16_6 = u_xlat16_6.xwyz * _MainLightShadowmapSize.yyyy;
                    u_xlat16_8.xzw = u_xlat16_7.yzw;
                    u_xlat16_8.y = u_xlat16_6.x;
                    u_xlat16_10 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_8.xyzy;
                    u_xlat16_11.xy = u_xlat16_49.xy * _MainLightShadowmapSize.xy + u_xlat16_8.wy;
                    u_xlat16_7.y = u_xlat16_8.y;
                    u_xlat16_8.y = u_xlat16_6.z;
                    u_xlat16_12 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_8.xyzy;
                    u_xlat16_51.xy = u_xlat16_49.xy * _MainLightShadowmapSize.xy + u_xlat16_8.wy;
                    u_xlat16_7.z = u_xlat16_8.y;
                    u_xlat16_13 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_7.xyxz;
                    u_xlat16_8.y = u_xlat16_6.w;
                    u_xlat16_14 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_8.xyzy;
                    u_xlat16_15.xy = u_xlat16_49.xy * _MainLightShadowmapSize.xy + u_xlat16_8.wy;
                    u_xlat16_7.w = u_xlat16_8.y;
                    u_xlat16_55.xy = u_xlat16_49.xy * _MainLightShadowmapSize.xy + u_xlat16_7.xw;
                    u_xlat16_6.xzw = u_xlat16_8.xzw;
                    u_xlat16_8 = u_xlat16_49.xyxy * _MainLightShadowmapSize.xyxy + u_xlat16_6.xyzy;
                    u_xlat16_16.xy = u_xlat16_49.xy * _MainLightShadowmapSize.xy + u_xlat16_6.wy;
                    u_xlat16_6.x = u_xlat16_7.x;
                    u_xlat16_49.xy = u_xlat16_49.xy * _MainLightShadowmapSize.xy + u_xlat16_6.xy;
                    u_xlat16_6 = u_xlat16_4 * u_xlat16_5.xxxx;
                    u_xlat16_7 = u_xlat16_4 * u_xlat16_5.yyyy;
                    u_xlat16_17 = u_xlat16_4 * u_xlat16_5.zzzz;
                    u_xlat16_4 = u_xlat16_4 * u_xlat16_5.wwww;
                    vec3 txVec13 = vec3(u_xlat16_10.xy,vs_TEXCOORD7.z);
                    u_xlat16_62 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec13, 0.0);
                    vec3 txVec14 = vec3(u_xlat16_10.zw,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec14, 0.0);
                    u_xlat18.x = u_xlat16_6.y * u_xlat16_18;
                    u_xlat62 = u_xlat16_6.x * u_xlat16_62 + u_xlat18.x;
                    vec3 txVec15 = vec3(u_xlat16_11.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec15, 0.0);
                    u_xlat62 = u_xlat16_6.z * u_xlat16_18 + u_xlat62;
                    vec3 txVec16 = vec3(u_xlat16_13.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec16, 0.0);
                    u_xlat62 = u_xlat16_6.w * u_xlat16_18 + u_xlat62;
                    vec3 txVec17 = vec3(u_xlat16_12.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec17, 0.0);
                    u_xlat62 = u_xlat16_7.x * u_xlat16_18 + u_xlat62;
                    vec3 txVec18 = vec3(u_xlat16_12.zw,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec18, 0.0);
                    u_xlat62 = u_xlat16_7.y * u_xlat16_18 + u_xlat62;
                    vec3 txVec19 = vec3(u_xlat16_51.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec19, 0.0);
                    u_xlat62 = u_xlat16_7.z * u_xlat16_18 + u_xlat62;
                    vec3 txVec20 = vec3(u_xlat16_13.zw,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec20, 0.0);
                    u_xlat62 = u_xlat16_7.w * u_xlat16_18 + u_xlat62;
                    vec3 txVec21 = vec3(u_xlat16_14.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec21, 0.0);
                    u_xlat62 = u_xlat16_17.x * u_xlat16_18 + u_xlat62;
                    vec3 txVec22 = vec3(u_xlat16_14.zw,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec22, 0.0);
                    u_xlat62 = u_xlat16_17.y * u_xlat16_18 + u_xlat62;
                    vec3 txVec23 = vec3(u_xlat16_15.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec23, 0.0);
                    u_xlat62 = u_xlat16_17.z * u_xlat16_18 + u_xlat62;
                    vec3 txVec24 = vec3(u_xlat16_55.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec24, 0.0);
                    u_xlat62 = u_xlat16_17.w * u_xlat16_18 + u_xlat62;
                    vec3 txVec25 = vec3(u_xlat16_8.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec25, 0.0);
                    u_xlat62 = u_xlat16_4.x * u_xlat16_18 + u_xlat62;
                    vec3 txVec26 = vec3(u_xlat16_8.zw,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec26, 0.0);
                    u_xlat62 = u_xlat16_4.y * u_xlat16_18 + u_xlat62;
                    vec3 txVec27 = vec3(u_xlat16_16.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec27, 0.0);
                    u_xlat62 = u_xlat16_4.z * u_xlat16_18 + u_xlat62;
                    vec3 txVec28 = vec3(u_xlat16_49.xy,vs_TEXCOORD7.z);
                    u_xlat16_18 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec28, 0.0);
                    u_xlat29 = u_xlat16_4.w * u_xlat16_18 + u_xlat62;
                    u_xlat16_29 = u_xlat29;
                }
            }
        } else {
            vec3 txVec29 = vec3(vs_TEXCOORD7.xy,vs_TEXCOORD7.z);
            u_xlat16_29 = textureLod(hlslcc_zcmp_MainLightShadowmapTexture, txVec29, 0.0);
            u_xlat16_29 = u_xlat16_29;
        }
        u_xlat16_49.x = (-_MainLightShadowParams.x) + 1.0;
        u_xlat16_29 = u_xlat16_29 * _MainLightShadowParams.x + u_xlat16_49.x;
        u_xlatb62 = 0.0>=vs_TEXCOORD7.z;
        u_xlatb18.x = vs_TEXCOORD7.z>=1.0;
        u_xlatb62 = u_xlatb62 || u_xlatb18.x;
        u_xlat16_29 = (u_xlatb62) ? 1.0 : u_xlat16_29;
        u_xlat18.xyz = vs_TEXCOORD1.xyz + (-_WorldSpaceCameraPos.xyz);
        u_xlat62 = dot(u_xlat18.xyz, u_xlat18.xyz);
        u_xlat62 = u_xlat62 * _MainLightShadowParams.z + _MainLightShadowParams.w;
        u_xlat62 = clamp(u_xlat62, 0.0, 1.0);
        u_xlat16_49.x = (-u_xlat16_29) + 1.0;
        u_xlat16_29 = u_xlat62 * u_xlat16_49.x + u_xlat16_29;
        u_xlatb62 = _DebugLightingFeatureFlags==0;
        u_xlati18.xyz = ivec3(uvec3(uint(_DebugLightingFeatureFlags) & uint(32u), uint(_DebugLightingFeatureFlags) & uint(1u), uint(_DebugLightingFeatureFlags) & uint(2u)));
        u_xlatb18.xyz = notEqual(u_xlati18.xyzx, ivec4(0, 0, 0, 0)).xyz;
        {
            bvec3 hlslcc_orTemp = u_xlatb18;
            hlslcc_orTemp.x = bool(u_xlatb62) || u_xlatb18.x;
            hlslcc_orTemp.y = bool(u_xlatb62) || u_xlatb18.y;
            hlslcc_orTemp.z = bool(u_xlatb62) || u_xlatb18.z;
            u_xlatb18 = hlslcc_orTemp;
        }
        u_xlat16_9.xzw = u_xlat16_21.xyz * u_xlat16_9.xxx;
        u_xlat16_21.xyz = (u_xlatb18.x) ? u_xlat16_9.xzw : u_xlat16_21.xyz;
        u_xlat16_21.xyz = u_xlat16_3.xyz * u_xlat16_21.xyz;
        u_xlat62 = u_xlat16_29 * unity_LightData.z;
        u_xlat19.xyz = vec3(u_xlat62) * _MainLightColor.xyz;
        u_xlat16_9.x = dot(u_xlat2.xyz, _MainLightPosition.xyz);
        u_xlat16_9.x = clamp(u_xlat16_9.x, 0.0, 1.0);
        u_xlat16_9.xyz = u_xlat16_9.xxx * u_xlat19.xyz;
        u_xlatb2 = _DebugLightingFeatureFlags!=32;
        u_xlat16_10.xyz = (u_xlatb18.y) ? u_xlat16_21.xyz : vec3(0.0, 0.0, 0.0);
        u_xlat16_9.xyz = u_xlat16_9.xyz * u_xlat16_3.xyz + u_xlat16_10.xyz;
        u_xlat16_9.xyz = (u_xlatb18.z) ? u_xlat16_9.xyz : u_xlat16_10.xyz;
        u_xlat16_0.xyz = (bool(u_xlatb2)) ? u_xlat16_9.xyz : u_xlat16_21.xyz;
        u_xlat16_0.w = u_xlat16_1.x;
    }
    u_xlatb2 = _Surface==1.0;
    u_xlat16_0.w = (u_xlatb2) ? u_xlat16_0.w : 1.0;
    SV_Target0 = u_xlat16_0;
    return;
}


// Keywords: DEBUG_DISPLAY _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS _SHADOWS_SOFT
// 